# Primary Assistant
from pydantic import BaseModel, Field
class ToGoodsAssistant(BaseModel):
    """转移工作到一个专门的助理来处理关于商品的问题。"""

    request: str = Field(
        description="用户关于任何查询商品的问题。不包括售后问题。不包括订单处理问题。"
    )
    class Config:
        json_schema_extra = {
            "example": {
                "request": "这个商品的保修期是多久？"
            },
            "example": {
                "request": "这个商品如何使用？"
            },
            "example": {
                "request": "XXX商品价格是多少？"
            },
            "example": {
                "request": "推荐一款手机。"
            },
            "example": {
                "request": "我要购买这款手机。"
            },
            
        }



class ToBookCarRental(BaseModel):
    """转移工作到一个专门的助理来处理租车预订。"""


    location: str = Field(
        description="The location where the user wants to rent a car."
    )
    start_date: str = Field(description="The start date of the car rental.")
    end_date: str = Field(description="The end date of the car rental.")
    request: str = Field(
        description="Any additional information or requests from the user regarding the car rental."
    )

    class Config:
        json_schema_extra = {
            "example": {
                "location": "Basel",
                "start_date": "2023-07-01",
                "end_date": "2023-07-05",
                "request": "I need a compact car with automatic transmission.",
            }
        }

class ToHotelBookingAssistant(BaseModel):
    """转移工作到一个专门的助理来处理酒店预订。"""
    location: str = Field(
        description="The location where the user wants to book a hotel."
    )
    checkin_date: str = Field(description="The check-in date for the hotel.")
    checkout_date: str = Field(description="The check-out date for the hotel.")
    request: str = Field(
        description="Any additional information or requests from the user regarding the hotel booking."
    )

    class Config:
        json_schema_extra = {
            "example": {
                "location": "Zurich",
                "checkin_date": "2023-08-15",
                "checkout_date": "2023-08-20",
                "request": "I prefer a hotel near the city center with a room that has a view.",
            }
        }


class ToBookExcursion(BaseModel):
    """转移工作到一个专门的助理来处理旅行推荐和其他旅行预订。"""


    location: str = Field(
        description="The location where the user wants to book a recommended trip."
    )
    request: str = Field(
        description="Any additional information or requests from the user regarding the trip recommendation."
    )

    class Config:
        json_schema_extra = {
            "example": {
                "location": "Lucerne",
                "request": "The user is interested in outdoor activities and scenic views.",
            }
        }